Como limitar a entrada de dados em Python para números 1, 2 e 3 apenas?

limitar input number

limitar input number - Como limitar a entrada de dados em Python para números 1, 2 e 3 apenas? Como limitar a entrada de dados em Python para números 1, 2 e 3 apenas? Como fazer o input em Python só receber números inteiros de 1 a 10? Como limitar input para receber apenas número no Python? Como limitar as casas decimais em input Python? Como fazer o input aceitar apenas números positivos em Python? Como limitar um input do tipo Number para apenas 3 caracteres em Python? Como limitar valor mínimo e máximo na entrada de número no Python? *************************************************** 1 número 154 1.3 % 6 2 input 153 1.1 % 5 3 python 146 1.2 % 6 4 para 140 0.8 % 4 5 print 122 0.9 % 5 6 como 109 0.6 % 4 7 numero 100 0.8 % 6 8 números 95 0.9 % 7 9 valor 93 0.7 % 5 10 lista 82 0.6 % 5 ************************************************* Aproximadamente 80.900 resultados (0,29 segundos) Limitar input apenas a números | Python - Alura https://cursos.alura.com.br › forum › topico-limitar-inp... 6 de fev. de 2019 — ... xp | 2 posts. Software Engineer. Tentativa 1 de 3 digite o seu número: a Você digitou: a Traceback (most recent call last): File ... 2 respostas · Você pode usar o try com dois except, dessa forma: ehNumero = False while (ehNumero == False): chute = input("Digite o seu número: ") try: int(chute) ... Não tô conseguindo limitar o intervalo com somente inteiros ... 15 de abr. de 2020 Como fazer o input do usuário só aceitar inteiros entre 1 e 10 13 de abr. de 2020 Limitar a quantidade de casas decimais - Alura 30 de mar. de 2021 Mais resultados de cursos.alura.com.br Limitar Input de números Python 3 - Stack Overflow https://pt.stackoverflow.com › questions › limitar-input-... 13 de dez. de 2018 · 1 resposta Basta fazer uma condição: if 0 <= num <= 2000: # Faça algo. Se quer solicitar ao usuário uma nova entrada enquanto o valor for inválido, ... Limitando a quantidade de caracteres em uma string em Python 30 de mai. de 2018 Limitar quantidade de números em um input - python 22 de set. de 2019 python - Como permitir apenas um intervalo de números? 26 de fev. de 2017 Preciso de ajuda para limitar a quantidade de caracteres em ... 11 de out. de 2018 Mais resultados de pt.stackoverflow.com As pessoas também perguntam Como limitar a entrada de dados em Python? Como fazer o input em Python só receber números inteiros de 1 a 10? O que fazemos é ler a entrada do usuário e caso o número informado não esteja dentro dos parâmetros, ou seja, caso ele seja menor que 1 ou maior que 10, repetimos(while) o procedimento para que o usuário digite o número até que ele seja válido.13 de abr. de 2020 Como fazer o input do usuário só aceitar inteiros entre 1 e 10 | Python https://cursos.alura.com.br › forum › topico-como-fazer-o... Pesquisar: Como fazer o input em Python só receber números inteiros de 1 a 10? Como limitar o valor de uma variável no Python? Como funciona o input em Python? Como usar o Isnumeric em Python? Use o método isnumeric() para verificar se a entrada é um inteiro ou não. O método isnumeric() da string retorna True se a string contém apenas números. No entanto, é importante notar que falha com valores negativos. Isso ocorre porque ele retorna automaticamente False quando encontra o sinal - em inteiros negativos.30 de mar. de 2021 Verifique se a entrada é inteira em Python - Delft Stack https://www.delftstack.com › howto › user-input-int-python Pesquisar: Como usar o Isnumeric em Python? Como receber dois valores Python? Como usar Isalnum em Python? Como se usa IsNumeric? Retorna um valor Boolean indicando se um expressão pode ser avaliado como um número. A expressão necessária argumento é um Variant que contém um expressão numérica ou expressão de cadeia de caracteres. IsNumeric retornará True se a expressão inteira for reconhecida como um número; caso contrário, ele retornará False. Função IsNumeric - Microsoft Support https://support.microsoft.com › pt-br › office Pesquisar: Como se usa IsNumeric? Feedback ***Saiba como limitar input python - Direto ao Ponto https://diretoaoponto-tech.com.br › limitar input python Como limitar a entrada de dados em Python para números 1, 2 e 3 apenas? Como fazer o input em Python só receber números inteiros de 1 a 10? Como limitar input ... Você visitou esta página 3 vezes. Última visita: 06/07/22 1.9. Entrada e Saída — Resolução de Problemas ... - Panda https://panda.ime.usp.br › pythonds_pt › 09-entradaSaida A função input do Python recebe um único parâmetro que é uma string. ... 2. print("Seu nome todo em maiúsculas é", umNome.upper(),. 3. Números reais — Introdução à Computação com Python https://panda.ime.usp.br › static › 07-reais Leia sobre o tipo float na seção Variáveis de tipos de dados. ... Dado um número inteiro n>0, determinar o número harmônico Hn dado por. Hn=1+12+13+14+…+1n. Exercício Python #104 - Validando entrada de dados em Python https://www.youtube.com › watch Prévia 8:19 Curso de Python 3 - Mundo 3: Estruturas Compostas ... Ex: n = leiaInt('Digite um n: ') Veja o curso de Python PARTE 1 em ... YouTube · Curso em Vídeo · 17 de dez. de 2018 Faça um programa que leia uma quantidade - IC-Unicamp https://www.ic.unicamp.br › pdf › class › 2019-1 PDF A entrada de dados deverá terminar quando for lido um número ... print(numeros_positivos(n)) listas:append. Tentativa 2. 3 ... for y in range(26,51,1):. 35 páginas Como limitar números decimais em Python? - Hora de Codar https://www.horadecodar.com.br › 2020/04/23 › como-... 23 de abr. de 2020 — Também é possível utilizar o recurso de format, que veio na versão 3 do Python. Tornando ainda mais fácil formatar o número com casa decimal ... Entrada de Dados e Resolvendo os Primeiros Exercícios https://neps.academy › blog › python-3:-entrada-de-da... 31 de mar. de 2018 — Nessa lição vamos aprender como processar entrada de dados pelo teclado. Entrada de Dados. Em Python 3, diferente de outras linguagens a leitura ... Entrada de Dados em Python - eXcript http://excript.com › python › entrada-dados-python 7 de mai. de 2016 — A partir da versão 3 do Python, a função input(), tem por objetivo de escrever a String passada como parâmetro e em seguida, ativar o modo ... Não encontrados: limitar ‎| Precisa incluir: limitar Exemplo De Programas Em Python - Curso Online Prático De... Anúncio·https://www.udemy.com/ Python do básico ao avançado c/ Expressões Lambdas, Iteradores, Geradores e muito mais! Se junte aos 40 milhões de alunos que aprendem com a Udemy. Com garantia de 30 dias. ‎Todos os cursos de Python · ‎O que é a Udemy? · ‎Cursos novos em alta · ‎Cursos De Design Cursos de Negócios - A partir de R$ 22,90 - Aprenda com especialistas · Mais As pessoas também perguntam O que é Flag no Python? Quais são as estruturas de repetição Python? Como identificar o maior número em Python? Como fazer média aritmética no Python? Feedback Pesquisas relacionadas limitar caracteres input python isnumeric python limitar casas decimais input python variável aceitar somente número em c truncar número python input de números python input somente números inteiros entrada e saída python ***************************************************************** Limitar input apenas a números Publicado 4 anos atrás , em 06/02/2019 Programação Python Python: começando com a linguagem Referente ao curso Python: começando com a linguagem, no capítulo A sequência do jogo e atividade Arquivos do projeto atual por Daniel Camboim | 42.0k xp | 2 posts Software Engineer Tentativa 1 de 3 digite o seu número: a Você digitou: a Traceback (most recent call last): File "C:/Users/andre/PycharmProjects/jogo/adivinhacao.py", line 14, in chute = int(chute_str) ValueError: invalid literal for int() with base 10: 'a' Process finished with exit code 1 2 respostas por Guilherme Carvalho | 207.6k xp | 4 posts Engenheiro Civil 06/02/2019 Você pode usar o try com dois except, dessa forma: ehNumero = False while (ehNumero == False): chute = input("Digite o seu número: ") try: int(chute) print("O chute é um número!") ehNumero = True except ValueError: try: float(chute) print("O chute é um número!") ehNumero = True except ValueError: print("O valor não é um número") por Luan Henrique Guerra de Gregori | 175.2k xp | 6 posts 06/02/2019 Bom dia, pode ser feito desta maneira while True: n = input("Digite um numero: ") if n.isnumeric(): print('Voce digitou o numero ' + n) break else: continue #se quiser coloque uma mensagem de erro *********************************************************** Não tô conseguindo limitar o intervalo com somente inteiros positivos de 1 a 10 Publicado 2 anos atrás , em 14/04/2020 Programação Python Python: avançando na linguagem Referente ao curso Python: avançando na linguagem, no capítulo Conhecendo e trabalhando com tuplas e atividade Arquivos do projeto atual por Nayma da Luz Santos | 28.0k xp | 35 posts Oi gente!!! não tô conseguindo limitar o intervalo de 1 a 10 e só inteiros positivos. Alguém dá um help, não consegui usar o "for" # coding=utf-8 print("***********************") print("*** Qual é o maior? ***") print("***********************") print("Escolha três números (a,b e c) entre 1 e 10.") num = 1 total_insercao = 3 insercao_atual = 1 for insercao_atual in range(1, insercao_atual + 1): numero_a = int(input("Escolha o número a: ")) numero_b = int(input("Escolha o número b: ")) numero_c = int(input("Escolha o número c: ")) if(num < 0 or num > 10 ): print("Você deve digitar um número entre entre 1 e 10!") continue maior_numero = numero_a if(numero_b > maior_numero): maior_numero = numero_b if(numero_c > maior_numero): maior_numero = numero_c print('O maior número entre a, b e c é: ', maior_numero) print("Fim") 2 respostas solução! por Nádia Oliveira | 1420.2k xp | 2291 posts Instrutor Líder Técnica da Alura 15/04/2020 Oi Nayma, tudo bem? Respondi este tópico neste link, veja se te ajuda e caso não ajude, fique tranquila que tentarei outra abordagem. Tudo bem?! Abraços e bons estudos! por Nayma da Luz Santos | 28.0k xp | 35 posts 17/04/2020 oi Nádia!!! muito obrigada!!! ************************************************************** Como fazer o input do usuário só aceitar inteiros entre 1 e 10 Publicado 2 anos atrás , em 13/04/2020 Programação Python Python: avançando na linguagem Referente ao curso Python: avançando na linguagem, no capítulo Melhorando o código e a apresentação e atividade Organizando o código em funções por Nayma da Luz Santos | 28.0k xp | 35 posts Olá pessoal!!! não estou conseguindo fazer com que o input do usuário nesse código se limite a números inteiros e tem que ser entre 1 a 10. O código funciona porém aceitando decimais e números maiores que 10. Segue o código: # coding=utf-8 #escreva uma função que receba três parâmetros (a,b e c) inteiros e retorne o maior valor entre os argumentos passados print("***********************") print("*** Qual é o maior? ***") print("***********************") print("Escolha três números (a,b e c) do grupo abaixo:") print('[1,2,3,4,5,6,7,8,9,10]') numero_a = int(input("Escolha o número a: ")) numero_b = int(input("Escolha o número b: ")) numero_c = int(input("Escolha o número c: ")) if not 1 <= numero_a <= 10: print('O número deve ser entre 1 e 10') if not 1 <= numero_b <= 10: print('O número deve ser entre 1 e 10') if not 1 <= numero_c <= 10: print('O número deve ser entre 1 e 10') maior_numero = numero_a if(numero_b > maior_numero): maior_numero = numero_b if(numero_c > maior_numero): maior_numero = numero_c print('O maior número entre a, b e c é: ', maior_numero) print("Fim") 9 respostas por Roni Alex Ruiz Serra | 103.4k xp | 9 posts Tec TI 1 13/04/2020 Olá tubo bem contigo? Acredito que você possa implementar um for ao receber os inputs para caso não for válido o input ele não grava a variável. Tem algo parecido no jogo de adivinhar números inteiros da aula do Nico (alemão). Atenciosamente Roni Serra por Nayma da Luz Santos | 28.0k xp | 35 posts 13/04/2020 Olá Roni! Eu tentei mas não estou conseguindo :( por José Henrique Merlo | 100.6k xp | 40 posts Estudante de Engenharia Elétrica 14/04/2020 Boa noite! Tente usar a estrutura de repetição while: while numero_a < 1 or numero_a > 10: numero_a = raw_input("Escolha o número A: ") por Nayma da Luz Santos | 28.0k xp | 35 posts 15/04/2020 não funcionou :( solução! por Nádia Oliveira | 1420.2k xp | 2291 posts Instrutor Líder Técnica da Alura 15/04/2020 Oi Nayma, tudo bem? Tente o seguinte: # coding=utf-8 #escreva uma função que receba três parâmetros (a,b e c) inteiros e retorne o maior valor entre os argumentos passados print("***********************") print("*** Qual é o maior? ***") print("***********************") print("Escolha três números (a,b e c) do grupo abaixo:") print('[1,2,3,4,5,6,7,8,9,10]') numero_a = int(input("Escolha o número a: ")) while numero_a < 1 or numero_a > 10: numero_a = int(input("Número digitado não está dentro dos limites.\nEscolha o número a: ")) numero_b = int(input("Escolha o número b: ")) while numero_b < 1 or numero_b > 10: numero_b = int(input("Número digitado não está dentro dos limites.\nEscolha o número b: ")) numero_c = int(input("Escolha o número c: ")) while numero_c < 1 or numero_c > 10: numero_c = int(input("Número digitado não está dentro dos limites.\nEscolha o número c: ")) maior_numero = numero_a if(numero_b > maior_numero): maior_numero = numero_b if(numero_c > maior_numero): maior_numero = numero_c print('O maior número entre a, b e c é: ', maior_numero) print("Fim") Observe o seguinte trecho: numero_a = int(input("Escolha o número a: ")) while numero_a < 1 or numero_a > 10: numero_a = int(input("Número digitado não está dentro dos limites.\nEscolha o número a: ")) O que fazemos é ler a entrada do usuário e caso o número informado não esteja dentro dos parâmetros, ou seja, caso ele seja menor que 1 ou maior que 10, repetimos(while) o procedimento para que o usuário digite o número até que ele seja válido. Pegou a ideia? Resultado: resultado Qualquer dúvida é só falar. Abraços e bons estudos! por Nayma da Luz Santos | 28.0k xp | 35 posts 17/04/2020 Oi Nádia!!! Obaaaa o código agora não aceita mais números menores que 1 e maiores que 10 porém ele ainda aceita os decimais, o que pode ser feito? por exemplo, quando digito: 1.5 ele aceita. por Nayma da Luz Santos | 28.0k xp | 35 posts 17/04/2020 Nádia consegui!!! Na linha : numero_a = int(input("Número digitado não está dentro dos limites.\nEscolha o número a: ")) eu mudei para: numero_a = raw_input("Número digitado não está dentro dos limites.\nEscolha o número a: ") brigaduuuuuu por Nádia Oliveira | 1420.2k xp | 2291 posts Instrutor Líder Técnica da Alura 17/04/2020 Nayma, para ele não aceitar números decimais você pode dizer que só aceita números inteiros no input, por exemplo: numero_a = int(input("Escolha o número a: ")) Daí quando for digitar números decimais será gerado um erro dizendo que aquele número não é inteiro: *********************** *** Qual é o maior? *** *********************** Escolha três números (a,b e c) do grupo abaixo: [1,2,3,4,5,6,7,8,9,10] Escolha o número a: 1.5 Traceback (most recent call last): File "main.py", line 13, in numero_a = int(input("Escolha o número a: ")) ValueError: invalid literal for int() with base 10: '1.5' por Nádia Oliveira | 1420.2k xp | 2291 posts Instrutor Líder Técnica da Alura 17/04/2020 Nayma, o raw_input() é nativo do Python versão 2. Na versão 3 ele foi substituído pelo input(). Provavelmente você está executando seu código no Python 2, por isso das divergências. Abraços e bons estudos! *********************************************************************** Limitar Input de números Python 3 Perguntada 3 anos, 9 meses atrás Modified 3 anos, 9 meses atrás Vista 7mil vezes 1 Usando o seguinte código quero limitar de 0 a 2000 o número que poderá ser informado pela varável num import collections num = int(input('Digite um número inteiro: ')) #Inputar número inteiro binario = bin(num)[2:] #Cortar o 0b sequence = binario collection = collections.Counter(sequence) print('O número binário de {} é {}'.format(num,binario)) print('A maior sequência de 0 é {}'.format(len(max(binario.split('1'), key=len)))) Seria limitar o número a ser inputado na variável num. pythonpython-3.x Compartilhar Melhore esta pergunta Seguir perguntada 13/12/2018 às 14:23 Thales Henrique's user avatar Thales Henrique 12811 medalhas de prata1313 medalhas de bronze Adicione um comentário 1 Resposta Ordenado por: 4 Basta fazer uma condição: if 0 <= num <= 2000: # Faça algo Se quer solicitar ao usuário uma nova entrada enquanto o valor for inválido, precisará de um laço infinito: while True: try: num = int(input()) if not 0 <= num <= 2000: raise ValueError('Valor fora do intervalo permitido') break except ValueError as error: print(error) Compartilhar Melhore esta resposta Seguir *********************************************************************** Como permitir apenas um intervalo de números? Perguntada 5 anos, 7 meses atrás Modified 5 anos, 7 meses atrás Vista 901 vezes 1 Eu estou fazendo um código de registro de número de notas de alunos, então quero que o usuário coloque um número entre um intervalo de 1 a 10, MAS também quero que os intervalos sejam em float(ou seja: 0.1,0.2... 9.8,9.9,10.0). nota_1 = float(input("Digite a primeira nota de " + str(aluno_1) + ": ")) mat_aluno_nota [1][0] = nota_1 while nota_1 not in (0,1,2,3,4,5,6,7,8,9,10): print("Digite um número entre 0 a 10") Tem alguma maneira de eu fazer mais rápido sem ser colocando todos de um em um? pythonpython-3.x Compartilhar Melhore esta pergunta Seguir perguntada 26/02/2017 às 1:02 Kenneth Anderson's user avatar Kenneth Anderson 31311 medalhas de ouro66 medalhas de prata1919 medalhas de bronze Adicione um comentário 1 Resposta Ordenado por: 2 Podes fazer assim: while True: nota_1 = input("Digite a primeira nota de " + str(aluno_1) + ": ") try: nota_1 = float(nota_1) except Exception as err: print("Valor deve ser númerico") else: if 0 <= nota_1 <= 10: mat_aluno_nota [1][0] = nota_1 break print("Valor deve estar entre 0 e 10") Compartilhar Melhore esta resposta Seguir editada 26/02/2017 às 1:55 respondida 26/02/2017 às 1:33 Miguel's user avatar Miguel 29,3mil55 medalhas de ouro3939 medalhas de prata7575 medalhas de bronze Adicione um comentário ************************************************************************* Preciso de ajuda para limitar a quantidade de caracteres em python kivy Perguntada 3 anos, 11 meses atrás Modified 3 anos, 11 meses atrás Vista 2mil vezes 0 Estou com uma pequena quantidade, estou tentando limitar a quantidade de caracteres que podem ser digitados sem texto, por exemplo, um código de DDD, onde basta apenas 2 ou 3 dígitos, limitar para apenas no máximo 3 números, mas não estou obtindo, tentei realizar da Em segundo lugar, mas também não funcionou, a ideia era agora limitar pelo próprio script kivy, obrigado até mais pessoal: D Código Kivy TextInput: id: dd pos_hint:{"center_x":.35, "center_y":.2} size_hint:(.1,.05) multiline:False write_tab: False input_filter:'int' Python de código dd = self.root.ids.dd.text dd = maxlength (2) python-kivy Compartilhar Melhore esta pergunta Seguir perguntada 11/10/2018 às 19:46 Couzer's user avatar Couzer 1777 medalhas de bronze Recomendo ler: pt.stackoverflow.com/questions/303296/… – Gunblades 11/10/2018 às 22:44 Possível duplicata de Limitando a quantidade de caracteres em uma string em Python – Gunblades 11/10/2018 às 23:12 Adicione um comentário 1 Resposta Ordenado por: 1 O tipo string é iterável no Python e permite acessar seu conteúdo via slices. Por exemplo, texto[1:5] iria retornar do primeiro ao quarto caractere de texto. >>> print('anderson'[1:5]) nder Se você omitir o primeiro valor, o Python irá entender que é zero, começando a partir do início do texto: >>> print('anderson'[:5]) ander Já, se o valor informado após os dois pontos exceder o tamanho do texto, será retornado apenas até o final do mesmo: >>> print('anderson'[1:30]) nderson Desta forma, para limitar um texto a um número N de caracteres, basta fazer texto[:N]. Leitura adicional: "[-4:]" O que é essa sintaxe? Limitando a quantidade de caracteres em uma string em Python OBS: No seu caso acho que o código que você quer ficaria +- assim : n = input("Digite o numero com DDD: (sem caracteres especial)") -Entrada: 0011111111 print ('DDD:',n[:2]) -Saida: DDD: 00 print ('numero:',n[2:]) -Saida: numero: 11111111 recomendo fazer um regEx ou uma mascara no seu input assim não corre risco do usuário digitar errado Compartilhar Melhore esta resposta Seguir editada 11/06/2020 às 14:45 Comunidade's user avatar ComunidadeBot 1 respondida 11/10/2018 às 22:55 Gunblades's user avatar Gunblades 73933 medalhas de prata1818 medalhas de bronze Se a resposta é a mesma, basta você sinalizar a pergunta como duplicada. Não há porque ter múltiplas respostas com o mesmo conteúdo espalhado pelo site. Logo abaixo da pergunta há o botão "sinalizar", basta colocar que a pergunta deveria ser fechada por ser duplicada e indicar o link da outra pergunta. – Woss 11/10/2018 às 23:07 Grata ^^ Sou nova usuária, ainda não sei como funciona o Stack – Gunblades 11/10/2018 às 23:12 Adicione um comentário **************************************************************************** Verifique se a entrada é inteira em Python Criado: March-30, 2021 Use a função int() para verificar se a entrada é um número inteiro em Python Use o método isnumeric() para verificar se a entrada é um inteiro ou não Use as expressões regulares para verificar se a entrada é um número inteiro em Python No mundo da programação, trabalhamos muito frequentemente com a entrada do usuário. Python tem a função input() disponível, que permite ao usuário inserir a entrada desejada. Às vezes, podemos querer a entrada de um tipo específico. SIMPATIA PARA FICAR LINDA DE CORPO ... Remaining Time -3:49 SIMPATIA PARA FICAR LINDA DE CORPO E ROSTO - Faça uma vez por mês, em toda Lua Cheia! No entanto, essa função converte a entrada do usuário em uma string antes de compilá-la com o programa. Portanto, não é simples usar os métodos tradicionais para verificar tipos específicos com a entrada do usuário, e temos que verificar se a string contém números ou não essencialmente. Neste tutorial, discutiremos como verificar se a entrada inserida pelo usuário é do tipo inteiro ou não. Use a função int() para verificar se a entrada é um número inteiro em Python A função int() pode converter um determinado valor inteiro de string em um tipo inteiro. Ele gera um erro se o valor desejado não for um inteiro e não puder ser convertido. Podemos usar este método para verificar se a string do usuário é um inteiro ou não, conforme mostrado abaixo. user_input = input("Enter the input ") try: int(user_input) it_is = True except ValueError: it_is = False print(it_is) Resultado: Enter the input 15 True Observe o uso do bloco try...except neste método. É usado com muita frequência ao lidar com exceções em Python. Use o método isnumeric() para verificar se a entrada é um inteiro ou não O método isnumeric() da string retorna True se a string contém apenas números. No entanto, é importante notar que falha com valores negativos. Isso ocorre porque ele retorna automaticamente False quando encontra o sinal - em inteiros negativos. O código a seguir mostra como podemos usar esta função para verificar se uma string contém inteiros em Python. user_input = input("Enter the input ") print(user_input.isnumeric()) Resultado: Enter the input 10 True Também podemos usar a função isdigit() no lugar de isnumeric(); ele também tem as mesmas limitações deste método. Use as expressões regulares para verificar se a entrada é um número inteiro em Python Também podemos usar as expressões regulares para criar um padrão que retorna True sempre que encontra inteiros em uma string. Também podemos modificar o padrão para garantir que funcione com valores negativos. Por exemplo, import re user_input = input("Enter the input ") num_format = re.compile(r'^\-?[1-9][0-9]*$') it_is = re.match(num_format,user_input) if it_is: print("True") else: print("False") Resultado: Enter the input -15 True Abaixo está a explicação do padrão de expressão regular - ^\-?[1-9][0-9]*$. ^ é o início da string \-? indica que esse número pode ser negativo ou positivo. [1-9] é o primeiro dígito do número. Deve ser um número entre 1 e 9, mas não 0. [0-9]* indica os seguintes dígitos. O número de dígitos pode ser qualquer um, incluindo 0. $ é o fim da string. Artigo relacionado - Python String Remover vírgulas da string em Python Como verificar se uma string está vazia de uma forma pythonica Converter uma string em nome de variável em Python Como remover espaços em branco numa string em Python Artigo relacionado - Python Input Remover vírgulas da string em Python Como verificar se uma string está vazia de uma forma pythonica Converter uma string em nome de variável em Python Como remover espaços em branco numa string em Python Verifique se Set está vazio em Python Verifique se a variável é Python inteiro ***************************************************************** Como restringir número de caracteres máximo em uma input na linguagem Python? 20/05/2018 55 Python print("HELLO WORLD"), queria restringir o número máximo de caracteres que uma pessoa pode utilizar em uma função "Input" Ex: txt = str(input("Digite uma letra: ")) #nesse código, quero que o usuário possa somente digitar uma letra, nada mais que isso. Valeu rapaziada! Gabriel Braga Gabriel Braga Curtir tópico + 0 Responder Post mais votado 28/09/2018 Boa tarde Murdoch, você pode ler normalmente o dado de entrado e usar um loop while onde você verifica o tamanho da variável usando a função "len", se ela satisfazer o tamanho que você quer, vocÊ sai do loop, caso contrário continua. ****************************************************************************** Aceitar somente numéricos no input Perguntada 4 anos, 11 meses atrás Modified 1 ano, 6 meses atrás Vista 11mil vezes 7 1 nota = -1 while nota < 0 or nota > 10: nota = int(input("Informe a nota entre 0 e 10: ")) if nota < 0 or nota > 10: print("Valor inválido") Eu preciso incluir nesse código validação para, se caso o usuário digitar string (a,b,c,d,e,f...) ou caractere especial, ele mostre erro e solicite novamente o inteiro. pythonstring Compartilhar Melhore esta pergunta Seguir editada 9/10/2017 às 19:35 Vinicius Brasil's user avatar Vinicius Brasil 21,1mil1010 medalhas de ouro7474 medalhas de prata145145 medalhas de bronze perguntada 9/10/2017 às 19:28 typemark's user avatar typemark 12511 medalhas de ouro33 medalhas de prata99 medalhas de bronze Adicione um comentário 4 Respostas Ordenado por: 19 Basta você tratar a exceção que é disparada pelo int quando a conversão falhar: while True: try: nota = int(input("Informe a nota entre 0 e 10: ")) if not 0 <= nota <= 10: raise ValueError("Nota fora do range permitido") except ValueError as e: print("Valor inválido:", e) else: break print(nota) Veja funcionando no Repl.it O while True garante que a leitura será efetuada até que o break seja executado; o try/except captura a exceção disparada pelo int, que é um ValueError, exibindo a mensagem de erro; se a exceção não é disparada, o bloco else é executado, parando o laço. Compartilhar Melhore esta resposta Seguir editada 9/10/2017 às 19:45 respondida 9/10/2017 às 19:32 Woss's user avatar Woss 75,3mil1515 medalhas de ouro113113 medalhas de prata208208 medalhas de bronze Anderson você é o cara, muito obrigado resolveu instantaneamente. – typemark 9/10/2017 às 19:45 Adicione um comentário 2 Então, há outras maneiras de fazer. Uma delas é usar o input como string e reconhcer o tipo do valor lido. Isso pode ser feito assim: nota = -1 while nota < 0 or nota > 10: nota = input("Informe a nota entre 0 e 10: ") if nota.isdigit(): if nota < 0 or nota > 10: print("Valor inválido") else: print("Não parece ser um número") Aqui tem uma referencia para isdigit. Para versões do python anteriores a 3, pode ser necessario usar raw_input no lugar de input. Compartilhar Melhore esta resposta Seguir respondida 22/12/2017 às 1:52 Juven_v's user avatar Juven_v 2.62911 medalhas de ouro1111 medalhas de prata1717 medalhas de bronze Adicione um comentário 1 nota = -1 while nota < 0 or nota > 10: try: nota = int(input("Informe a nota entre 0 e 10: ")) print("A nota foi:", nota) break except: print("Valor inválido") continue O comando continue faz com que volte para o início do loop. Compartilhar Melhore esta resposta Seguir editada 29/01/2019 às 4:56 respondida 17/01/2019 às 14:48 Sara Lins's user avatar Sara Lins 5311 medalhas de prata99 medalhas de bronze 1 Nesse caso, se a exceção é disparada, o valor de nota não é alterado, então o loop irá continuar mesmo sem o continue. Só faria sentido ali se houvesse mais código após o bloco try/except. – Woss 17/01/2019 às 15:49 1 E talvez se fazer while not 0 < nota < 10 fique mais legível que while nota < 0 or nota > 10, mas isso está mais para opinião mesmo. – Woss 17/01/2019 às 15:50 Adicione um comentário 0 Outra forma interessante de se resolver esta questão, com Python 3.8 ou superior é utilizando os conceitos de Assignment Expressions, abordados pela PEP 572. Com esses conceitos poderemos reduzir bastante a quantidade de linhas no código. Desta forma o código pode ficar: while not (nota := input(f'Nota entre "0" e "10": ')).isdigit() or (nota := int(nota)) < 0 or nota > 10: print('Valor INVÁLIDO!') print(nota) Observe que o bloco while verifica três situações: Verifica se a expressão atribuída à variável nota não é um dígito; Verifica se a expressão atribuída à variável nota e convertida em inteiro é menor que 0; Verifica se a expressão atribuída à variável nota e convertida em inteiro é maior que 10. Caso uma das três verificações do bloco while seja True receberemos a mensagem: Valor INVÁLIDO! e seremos novamente solicitado uma nota entre "0" e "10". Agora, caso as três verificações do bloco while sejam False, o laço de repetição será encerrado, sendo exibido o valor da nota digitada. Compartilhar Melhore esta resposta Seguir ************************************************************** Uma lista para receber 20 números inteiros e armazenar em uma lista e imprimir o maior elemento da lista Perguntada 5 anos, 4 meses atrás Modified 1 ano, 11 meses atrás Vista 15mil vezes 1 n = int(input("digite o número : ") I=0 For i in lista: lista[i].append(input("digite o número" I+=1 else: Print("lista cheia") Sou novo em Programação e não consigo implantar o que o questionário quer. pythonpython-3.x Compartilhar Melhore esta pergunta Seguir editada 11/05/2017 às 13:22 Woss's user avatar Woss 75,3mil1515 medalhas de ouro113113 medalhas de prata208208 medalhas de bronze perguntada 10/05/2017 às 17:42 Edson Fonseca's user avatar Edson Fonseca 6711 medalhas de ouro11 medalhas de prata66 medalhas de bronze Adicione um comentário 4 Respostas Ordenado por: 6 Para obter o maior valor em uma lista de números, existe a função nativa max: numeros = [1, 2, 3, 4, 5] print("Maior número da lista é:", max(numeros)) Retorna a mensagem: Maior número da lista é: 5 Para gerar esta lista dinamicamente através da entrada do usuário, em Python, o mais fácil é utilizar compreensão de listas: numeros = [int(input("Número: ")) for i in range(20)] A linha de código acima pode ser melhor compeendida com um trecho de código semelhante, porém não análogo: numeros = [] for i in range(20): numeros.append(int(input("Número: "))) O código final ficaria: numeros = [int(input("Número: ")) for i in range(20)] print("Maior número da lista é:", max(numeros)) Veja funcionando no Repl.it. Compartilhar Melhore esta resposta Seguir respondida 11/05/2017 às 13:42 Woss's user avatar Woss 75,3mil1515 medalhas de ouro113113 medalhas de prata208208 medalhas de bronze Adicione um comentário 0 x = 1 lista = [] print('Digite 20 números.') while x <= 20: n = int(input('Digite um número: [ %s ]: '%x)) lista.append(n) x += 1 print('O maior valor é:',max(lista)) Compartilhar Melhore esta resposta Seguir respondida 10/05/2017 às 18:37 Antony Gabriel's user avatar Antony Gabriel 83355 medalhas de prata88 medalhas de bronze 1 Por favor, colabore com a qualidade do conteúdo da comunidade elaborando melhor sua resposta. Respostas muito curtas dificilmente serão suficientemente claras para acrescentar algo à discussão. Se sua resposta é baseada em alguma função ou característica da linguagem/ferramenta, faça a ligação com a documentação oficial ou material confiável que sustente sua resposta. Buscar perguntas semelhantes na comunidade também pode ser interessante para indicar outras abordagens do problema. – Woss 11/05/2017 às 13:22 Adicione um comentário 0 lista = [] while len(lista)+1 <= 20: lista.append(int(input("Digite um número: "))) print ("O maior valor é: ", max(lista)) Compartilhar Melhore esta resposta Seguir respondida 11/05/2017 às 13:16 skulden's user avatar skulden 13111 medalhas de bronze 3 Por favor, colabore com a qualidade do conteúdo da comunidade elaborando melhor sua resposta. Respostas muito curtas dificilmente serão suficientemente claras para acrescentar algo à discussão. Se sua resposta é baseada em alguma função ou característica da linguagem/ferramenta, faça a ligação com a documentação oficial ou material confiável que sustente sua resposta. Buscar perguntas semelhantes na comunidade também pode ser interessante para indicar outras abordagens do problema. – Woss 11/05/2017 às 13:22 Adicione um comentário 0 Podemos resolver esta questão desta forma: maior = max([x for x in input('Digite os valores: ').split()]) print(f'O maior número da lista é: {maior}') Quando executamos este código recebemos a seguinte mensagem: Digite os valores: . Neste momento devemos digitar todos os valores, na mesma linha, separados por um só espaço e pressionar enter. Compartilhar ************************************************************* Problema com entrada de mais de um número inteiro com input Perguntada 3 anos, 7 meses atrás Modified 3 anos, 7 meses atrás Vista 241 vezes 0 Estou com problema para captar a entrada de mais de um número inteiro em um só input. Ex: numero = int(input('Digite o primeiro número aqui: ')) numero_1 = int(input('Digite o segundo número aqui: ')) numero_2 = int(input('Digite o terceiro número aqui: ')) lista_numeros = [numero, numero_1, numero_2] Gostaria de transformar esses 3 input's em um só. Ex: numeros = int(input('Digite os números aqui: ')) lista_numeros = [numeros] porém essa segunda execução dá erro de: ValueError: invalid literal for int() with base 10: '1 2 3 5' Eu acredito que pode ser por causa dos espaços entre os números. pythonpython-3.xinput Compartilhar Melhore esta pergunta Seguir editada 23/02/2019 às 9:48 hkotsubo's user avatar hkotsubo 62,4mil2323 medalhas de ouro7171 medalhas de prata132132 medalhas de bronze perguntada 23/02/2019 às 3:00 Pedro Henrique's user avatar Pedro Henrique 12511 medalhas de prata44 medalhas de bronze Adicione um comentário 2 Respostas Ordenado por: 2 Perceba que você deve fazer uma checagem antes para garantir que é um numero que esta vindo pela entrada, isto é feito pela função isdigit(). Veja abaixo o exemplo: numeros = [int(v) for v in input('Valores: ').split() if v.isdigit()] print(numeros) Entrada: 1 32 3 55 Saída: [1, 32, 3, 55] A saída é uma lista de números inteiros que foram retornados separadamente por int(v) através da list comprehension, seguindo da condição especificada isdigit(s) que simplesmente verifica se o valor é um digito. Veja funcionando no Repl.it. Compartilhar Melhore esta resposta Seguir editada 23/02/2019 às 4:13 respondida 23/02/2019 às 4:03 gato's user avatar gato 23,2mil2424 medalhas de ouro107107 medalhas de prata232232 medalhas de bronze Muito obrigado, agora ficou bem claro para mim. Só uma duvida que tive aqui, esse 'v' que foi definido é somente uma variável qualquer podendo ser X , Y ou Z por exemplo ? – Pedro Henrique 23/02/2019 às 4:21 É sim, ela é criada no escopo da list comprehension e você pode dar o nome que quiser para a variável. Em uma notação em português: valor para valor em variaveInteravel – gato 23/02/2019 às 4:23 Ok, muito obrigado pela ajuda!! – Pedro Henrique 23/02/2019 às 4:23 Adicione um comentário 0 O que você pode fazer é capturar a linha de entrada, dividi-la em substrings nos espaços, e depois fazer o parse dos inteiros: entrada = input('Digite os números aqui: ') numeros = [int(i) for i in entrada.split(' ')] Compartilhar Melhore esta resposta Seguir editada 23/02/2019 às 3:19 respondida 23/02/2019 às 3:09 user140213's user avatar user140213 2622 medalhas de bronze Adicione um comentário ************************************************************* Ler 10 números inteiros e obter o maior entre eles Perguntada 4 anos, 11 meses atrás Modified 8 meses atrás Vista 16mil vezes 0 Usando uma função, faça um programa que leia 10 números inteiros e imprima na tela o maior deles. No caso de valores iguais, imprima qualquer um dos maiores. Caso o maior número seja múltiplo do primeiro número n lido, imprima n na tela. Dez números inteiros, considere que o primeiro número lido nunca será 0. Alguém pode me ajudar nessa questão? Ainda sou leigo em Python. n = int(input()) b = int(input()) c = int(input()) d = int(input()) e = int(input()) f = int(input()) g = int(input()) h = int(input()) i = int(input()) j = int(input()) lista = [n,b,c,d,e,f,g,h,i,j] print (max(lista)) pythonpython-3.x Compartilhar Melhore esta pergunta Seguir editada 29/09/2017 às 14:16 Woss's user avatar Woss 75,3mil1515 medalhas de ouro113113 medalhas de prata208208 medalhas de bronze perguntada 29/09/2017 às 13:01 user92865's user avatar user92865 911 medalhas de ouro11 medalhas de prata33 medalhas de bronze Em fazer a parte dos multiplos, e na parte de "dez numeros inteiros, considere o primeiro numero lido nuca seja 0" – user92865 29/09/2017 às 13:07 estou inputando 10 variáveis, e depois fiz uma lista onde consegui fazer o python imprimir o numero maior – user92865 29/09/2017 às 13:11 n = int(input()) b = int(input()) c = int(input()) d = int(input()) e = int(input()) f = int(input()) g = int(input()) h = int(input()) i = int(input()) j = int(input()) lista = [n,b,c,d,e,f,g,h,i,j] print (max(lista)) – user92865 29/09/2017 às 13:12 como faço multiplo do primeiro número?? – user92865 29/09/2017 às 13:17 Adicione um comentário 5 Respostas Ordenado por: 3 Outra forma seria: # Define a função: def exercicio(): # Lista com os números lidos: numeros = [] # Lê o primeiro número, garantindo que não seja zero: numero = 0 while numero == 0: numero = int(input("Entre com o 1º número: ")) if numero == 0: print("O 1º número não pode ser zero.") numeros.append(numero) # Lê os outros nove números: for i in range(9): numero = int(input("Entre com o %dº número: " % (i+2))) numeros.append(numero) # Obtém o maior valor e exibe-o na tela: maior = max(numeros) print("O maior valor é", maior) # Verifica se o maior valor é múltiplo do primeiro: multiplo = maior % numeros[0] == 0 # Se for, exibe o primeiro valor na tela: if multiplo: print("O maior valor é múltiplo do primeiro, que é", numeros[0]) # Chama a função definida: exercicio() Veja funcionando em Ideone | Repl.it Acredito que com os comentários no código seja possível compreendê-lo. A leitura do primeiro valor foi feita de forma separada pois responde a condições diferentes dos outros valores. Compartilhar Melhore esta resposta Seguir editada 29/09/2017 às 13:51 respondida 29/09/2017 às 13:42 Woss's user avatar Woss 75,3mil1515 medalhas de ouro113113 medalhas de prata208208 medalhas de bronze Adicione um comentário 2 Inicialmente é necessário montar uma função : def maxNum_input(): #declara a função list_num = [] #declara a lista que vai receber os números i = 0 # um contador(há outras formas de fazer) while i < 10: # o loop number = int(input("Digite um número diferente de 0: ")) # a entrada você pode criar algo para impedir que o usuário digite 0 list_num.append(number) # adiciona cada entrada a lista i += 1 # incrementa o contador if (max(list_num) % list_num[0]) == 0: # verifica se é múltiplo print("O maior número é múltiplo de :",list_num[0]) print(max(list_num)) # a saída maxNum_input() # a chamada da função Compartilhar Melhore esta resposta Seguir editada 29/09/2017 às 14:15 respondida 29/09/2017 às 13:41 MagicHat's user avatar MagicHat 12,5mil66 medalhas de ouro4646 medalhas de prata9090 medalhas de bronze Muito Obrigado :) – user92865 29/09/2017 às 13:54 @user92865 considere validar a resposta que acredita estar correta, clicando no incon verde abaixo das setas de avaliação da resposta, boa sorte. – MagicHat 29/09/2017 às 14:20 Adicione um comentário 0 Poderia fazer dessa forma: cont = 0 lista_numeros =[] while cont != 10: #Para poder pegar 10 numeros numero = int(input('Digite um numero: ')) lista_numeros.append(numero) cont = cont + 1 maior = max(lista_numeros) # O max retorna o numero máximo em uma lista if maior % lista_numeros[0] == 0 : print ('É múltiplo') else: print ('Não é múltiplo') O operador '%' retorna o resto da divisão, dessa forma você pode testar se o maior número é divisível pelo primeiro. Compartilhar Melhore esta resposta Seguir editada 29/09/2017 às 14:27 respondida 29/09/2017 às 13:20 Otávio Reis Perkles's user avatar Otávio Reis Perkles 86588 medalhas de prata2020 medalhas de bronze haaa sim agora entendi. – user92865 29/09/2017 às 13:23 Muito Obrigada pela ajuda :) – user92865 29/09/2017 às 13:23 Embora o AP tenha supostamente, visto como correta sua resposta, há de se levar em consideração, a necessidade explícita de ser uma função. – MagicHat 29/09/2017 às 13:43 teria de ser maior % lista_numeros [0] == 0. Alterado – Otávio Reis Perkles 29/09/2017 às 14:26 Adicione um comentário -2 maior = menor = 0 for cont in range(0, 10): num = int(input(f'Número {cont + 1}: ')) if cont == 0: maior = num menor = num elif num > maior: maior = num elif num < menor: menor = num print(f'O maior número foi {maior}') print(f'O menor número foi {menor}') Compartilhar Melhore esta resposta Seguir editada 5/01 às 1:38 respondida 5/01 às 1:23 arnib's user avatar arnib 111 medalhas de bronze Adicione um comentário -5 num = [] for v in range (0, 9): #v está armazenando as iterações vindas da função range lista = input("Digite um número diferente de zero:") # Aqui lista fica como string. if (lista.isnumeric()) and int(lista) != 0: #is numeric() vê se o valor é numerico lista = int(lista) #só depois de checar passo lista pra int if v == 0: # Primeira iteração adiciona o valor em num de antemão num.append(lista) if lista > num[-1] : #os valores só são comparados se lista receber um numero num.append(lista) else: print("Você digitou um valor não numerico ou inválido") print(max(num)) if (max(num)) %num[0] == 0: # Confere se o maior numero é multiplo print(num[0]) #dentro deste for as posições não precisam ser escritas como lista[v] #porque acima já se assume que v será o iterador Se em qualquer momento o uso ou a necessidade de alguma linha de código trouxer dúvida, comente abaixo que estarei disposto a clarificar, já que eu usei algumas coisinhas especificas, tipo a função range() mas por enquanto basta dizer que range sempre trabalha dentro de um dado intervalo de numeros (parando no numero final -1) Escolhi esse jeito pois ele é relativamente simples,limpo em termos de código e usa algumas funções que o Python permite. Compartilhar Melhore esta resposta Seguir editada 13/01 às 20:25 respondida 12/01 às 22:21 Victor Mariano's user avatar Victor Mariano 6155 medalhas de bronze Sua resposta pode ser melhorada adicionando informações fundamentais. Basta editar para adicionar mais detalhes, como citações ou documentação para que outras pessoas possam confirmar que sua resposta está correta. Você pode encontrar mais informações sobre como escrever boas respostas na Central de Ajuda. – Comunidade Bot 12/01 às 22:31 1 Há vários caracteres para os quais isnumeric retorna True mas dão erro ao converter para int, veja aqui. O melhor seria fazer logo int(entrada) e capturar o ValueError para saber se não foi digitado um número (mais ou menos assim). Outro ponto é que a condição lista != 0 é testada antes de converter lista para número, então a condição sempre será verdadeira (pois naquele ponto, lista ainda é uma string) – hkotsubo 13/01 às 0:28 Não tem porque declarar lista = [] não usado em lugar algum. Não tem porque declara v em for v in range (0, 10): melhor usar um _. E o código não imprime o primeiro número caso o maior seja múltiplo desse. – Augusto Vasques 13/01 às 2:44 @hkotsubo Obrigado por apontar as falhas obtidas, especialmente a do !=0, não tinha me dado conta. Com relação ao isnumeric sei que não é o mais exato, mas resolve a questão. – Victor Mariano 13/01 às 19:29 @augusto Nesse momento estou atualizando o código com relação as variaveis não usadas, mas não entendi o seu ponto com relação aos múltiplos, realizei diversos casos de teste e obtive resultados coerentes em todos, com multiplos e não multiplos. A questão se refere a printar o maior de todos. – Victor Mariano 13/01 às 19:32 Mostrar mais 4 comentários ************************************************************ Variáveis, expressões e comandos Tópicos Capítulo 2: Variáveis, expressões e comandos comando de atribuição escrita na tela (= input()) leitura via teclado (= print()) classes str e int função de conversão int() Comando de repetição: while expressões lógicas e operadores relacionais Estrutura de um programa Utilizaremos a seguinte estrutura para um programa em Python. def main(): # comandos ... #------ # a linha a seguir inicia a execução do programa main() Variáveis Uma variável é um nome que se refere a um valor. Um comando de atribuição cria uma nova variável e lhe dá um valor. Variáveis são usadas para guardarmos valores que serão usados mais tarde no programa. Atribuição Um comando é uma unidade de código que o interpretador pode executar. Um comando de atribuição tem a seguinte forma: variável = expressão Significado: o valor da expressão é calculado; a variável é criada; a variável passa a fazer referência/guardar o valor Exemplos num = 15 soma = 0 # este é um comentário soma = soma + num a = 3 b = 4 Cada nome de variáveis é uma letra ou o símbolo '_' (underscore) seguida de letras, números e '_'. Atenção, maiúscula é diferente de minúscula. Assim maior e Maior são duas variáveis diferentes. Exercício 2.1 Dados dois inteiros a e b, calcular a sua soma. Tentativa 0: execute o programa abaixo e veja o que acontece. 1 2 3 4 5 6 7 8 9 def main(): a = 3 b = 4 soma = a + b print("A soma de a + b eh igual a soma") main() (aula02_ex1_1) Observe que tudo entre aspas (”) define um texto ou string. Mas queremos imprimir o valor das variáveis e não o nome delas. print() A função print() é utilizada para o programa exibir mensagens. Por exemplo: print("Olá, mundo!") print("A soma é", soma) Escreve na tela do computador Olá, mundo! A soma é XXXX onde XXXX é o valor ao qual a variável soma se refere. Tentativa 1: execute o programa abaixo e veja o que acontece. Observe que o print() recebeu dois valores separados por vírgula: um string (entre aspas) e o nome de uma variável O string é impresso diretamente (pois esse é o seu valor) e, ao invés de imprimir o nome da variável soma, o print() exibe o valor ao qual a variável soma se refere, ou, dito mais simplesmente, o valor da variável soma. Mas e como imprimir os valores de a e b ao invés de seus nomes? Tentativa 2: execute o programa abaixo e veja o que acontece. 1 2 3 4 5 6 7 8 9 def main(): a = 3 b = 4 soma = a + b print("A soma de", a, "+", b, "eh igual a", soma) main() (aula02_ex1_3) Agora sim, a mensagem ficou bem mais clara. Mas como fazer com que os valores a serem somados sejam definidos por um usuário? Tentativa 3: execute o programa abaixo e veja o que acontece. 1 2 3 4 5 6 7 8 9 def main(): a = input("Digite o primeiro numero: ") b = input("Digite o segundo numero: ") soma = a + b print("A soma de", a, "+", b, "eh igual a", soma) main() (aula02_ex1_4) input() Um programa pode utilizar a função input() para receber os dados ou valores que um usuário fornece através do teclado. O formato típico de um comando leitura é variável = input("Prompt") O programa pára e espera pela digitação de algum texto seguido do ENTER. "Prompt" é opcional e pode indicar o que programa deseja. Por exemplo, nome = input("Qual é o seu nome? ") print(nome, ", me fale sobre você.") O valor que o usuário fornece e que será retornada pelo input() é sempre um string e não um número. Quando o operador + é realizado sobre strings, eles são concatenados (“grudados”) em vez de adicionados. Como veremos mais tarde, a operação de concatenar strings através do operador + é muito útil. No momento desejamos adicionar dois números inteiros. Precisamos, portanto, de um maneira para converter um string em um número inteiro, para que o Python obtenha a soma desses números. Para ler um valor e converté-lo para um número inteiro utilizamos a função de conversão int(). Strings Uma string é texto entre aspas (") ou apóstrofo (') Valores Programas manipulam valores. Valores podem ser de diferentes tipos ou classes. Até agora vimos que um valor pode ser um número inteiro (classe int) ou um texto (classe str). Por exemplo, "Oi" é um string (valor da classe str), 23 é um inteiro (valor da classe int), e "23" é um string (valor da classe str). >>> type("Oi") >>> type(23) >>> type("23") >>> Operacões sobre strings O operador + concatena dois strings. Tentativa 4: execute o programa abaixo e veja como ele se comporta. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 def main(): # a_str e b_str guardam strings a_str = input("Digite o primeiro numero: ") b_str = input("Digite o segundo numero: ") # a_int e b_int guardam inteiros a_int = int(a_str) # converte string/texto para inteiro b_int = int(b_str) # converte string/texto para inteiro # calcule a soma entre valores que são números inteiros soma = a_int + b_int # imprima a soma print("A soma de", a_int, "+", b_int, "eh igual a", soma) main() (aula02_ex1_5) int() A função int() converte um dado string para um número inteiro. >>> a = int("123") >>> type (a) >>> print("valor inteiro =", a) valor inteiro = 123 >>> O string deve ser algo como "123" ou "-5", pois senão ocorrerá um erro. >>> a = int("1.5") Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '1.5' >>> a = int("a156") Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: 'a156' >>> Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: 'a156' Como não precisamos guardar as respostas na forma de texto, podemos simplificar o programa compondo as funções int() e input() da seguinte forma: Tentativa 5: 1 2 3 4 5 6 7 8 9 def main(): a = int(input("Digite o primeiro numero: ")) b = int(input("Digite o segundo numero: ")) soma = a + b print("A soma de", a, "+", b, "eh igual a", soma) main() (aula02_ex1_6) Exercício 2.2 Dada uma sequência de números inteiros diferentes de zero, terminada por um zero, calcular a sua soma. Por exemplo, para a sequência: 12 17 4 -6 8 0 o seu programa deve escrever o número 35. Tente escrever a sua solução primeiro e, depois, clique aqui para ver uma. 1 2 3 # escreva o seu programa (aula02_ex2_tentativa) Comando de repetição: while Leitura sobre o comando de repetição while. Expressões lógicas Condições ou expressões lógicas (boolean expressions) são expressões cujo valor é verdadeiro (=``True`` em Python) ou falso (=``False`` em Python) e usam, entre outros, os operadores relacionais: > (maior); >= (maior ou igual); < (menor); <= (menor ou igual); == (igual); ou != (diferente). Exercício 2.3 Nota: Exercício 4 da lista sobre inteiros. Dados números inteiros n e k, com k >= 0, calcular n elevado a k. Por exemplo, dados os números 3 e 4 o seu programa deve escrever o número 81. Tente escrever a sua solução abaixo primeiro e, depois, clique aqui para ver uma. 1 2 3 # escreva o seu programa (aula02_ex3_tentativa) Exercício 2.4 Nota: Exercício 8 da lista sobre inteiros. Dado um número inteiro n >= 0, calcular n!. Tente escrever a sua solução abaixo primeiro e, depois, clique aqui para ver uma. 1 2 3 # escreva o seu programa (aula02_ex4_tentativa) ************************************************************** Entrada, impressão e números Theory Steps Problems 1. Como ler e escrever em Python Todo programa é eventualmente um processador de dados, portanto, devemos saber como inserir e enviar dados dentro dele. Existe uma função, print() , para saída de dados de qualquer programa Python. Para usá-lo, passe uma lista separada por vírgulas de argumentos que você deseja imprimir para a função print() . Vamos ver um exemplo. Pressione "run" e depois "next" para ver como o programa está sendo executado linha por linha: step by step Para inserir dados em um programa, usamos input() . Esta função lê uma única linha de texto, como uma String. Aqui está um programa que lê o nome do usuário e os cumprimenta: step by step Advertising by Google, may be based on your interests 2. Soma de números e cordas Vamos tentar escrever um programa que insira dois números e imprima sua soma. Lemos os dois números e armazená-los na variáveis a e b usando o operador de atribuição = . No lado esquerdo de um operador de atribuição, colocamos o nome da variável. O nome pode ser uma cadeia de caracteres latinos ( AZ , az , 0-9 , _ ), mas deve começar com uma letra no intervalo AZ ou az . No lado direito de um operador de atribuição, colocamos qualquer expressão que o Python possa avaliar. O nome começa a apontar para o resultado da avaliação. Leia este exemplo, execute-o e observe a saída: step by step Depois de executar o exemplo, podemos ver que ele imprime 57 . Como fomos ensinados na escola, 5 + 7 dá 12 . Então, o programa está errado e é importante entender o porquê. A questão é que, na terceira linha s = a + b Python "resumiu" duas cadeias, em vez de dois números. A soma de duas strings em Python funciona da seguinte maneira: elas são coladas uma após a outra. Também é chamado às vezes de "concatenação de string". Você vê no Inspetor variável, no lado direito, que os valores ligados a variáveis a e b estão entre aspas? Isso significa que os valores lá são string, não números. Strings e números são representados em Python de forma diferente. Todos os valores em Python são chamados de "objetos". Todo objeto tem um certo tipo. O número 2 corresponde a um objeto "número 2" do tipo "int" (ou seja, um número inteiro). A string 'hello' corresponde a um objeto "string 'hello'" do tipo "str". Cada número de ponto flutuante é representado como um objeto do tipo "float". O tipo de um objeto especifica que tipo de operações pode ser aplicado a ele. Por exemplo, se as duas variáveis "first" e "second" estiverem apontando para os objetos do tipo int , o Python poderá multiplicá-las. No entanto, se eles estão apontando para os objetos do tipo str , o Python não pode fazer isso: step by step Para converter (converter) a string de dígitos em um número inteiro, podemos usar a função int() . Por exemplo, int('23') fornece um objeto int com valor 23 . Dadas as informações acima, agora podemos corrigir a saída incorreta e produzir a soma dos dois números corretamente: step by step ********************************************************** Strings: Operações, Funções e Métodos ● O método split(sep) separa uma string usando sep como separador. Retorna uma lista das substrings. ● Podem haver substrings vazias no retorno de split(). numeros = "1; 2 ; 3" numeros.split(";") ['1', ' 2 ', ' 3'] a = "Fizeram a atividade conceitual?" a.split() ['Fizeram', 'a', 'atividade', 'conceitual?'] Strings: Operações, Funções e Métodos ● O método replace serve para trocar todas as ocorrências de uma substring por outra em uma string. a = "Fizeram a atividade conceitual?" a.replace("conceitual","teórica") 'Fizeram a atividade teórica?' a = "Fizeram a atividade conceitual?" a.replace("conceitual","") 'Fizeram a atividade ?' Strings: Operações, Funções e Métodos ● Podemos usar a função list para transformar uma string em uma lista onde os itens da lista correspondem aos caracteres da string. numeros = "1; 2 ; 3" list(numeros) ['1', ';', ' ', '2', ' ', ';', ' ', ' ', '3'] list("atividade") ['a', 't', 'i', 'v', 'i', 'd', 'a', 'd', 'e'] Strings: Operações, Funções e Métodos ● O método join recebe como parâmetro uma sequência ou lista, e retorna uma string com a concatenação dos elementos da sequência/lista. l = list("atividade") l ['a', 't', 'i', 'v', 'i', 'd', 'a', 'd', 'e'] "".join(l) 'atividade' Exercícios Exemplo: Contador de Palavras ● Faça um programa que conta o número de palavras em um texto. Exemplo: Contador de Palavras ● Faça um programa que conta o número de palavras em um texto. ○ Primeiramente removemos do texto todos os sinais de pontuação. ○ Depois usamos a função split para separar as palavras. texto = input("Digite um texto: ") pontuacao = [".", ",", ":", ";", "!", "?"] # remove os sinais de pontuação for p in pontuacao: texto = texto.replace(p," ") Exemplo: Contador de Palavras ● Faça um programa que conta o número de palavras em um texto. ○ Depois usamos a função split para separar as palavras. texto = input("Digite um texto: ") pontuacao = [".", ",", ":", ";", "!", "?"] # remove os sinais de pontuação for p in pontuacao: texto = texto.replace(p," ") # split devolve lista com palavras como itens numero_palavras = len(texto.split()) print("Número de palavras:", numero_palavras) Exercício: Palíndromo ● Faça um programa que lê uma string e imprime “Palíndromo” caso a string seja um palíndromo e “Não é palíndromo” caso não seja. ○ Assuma que a entrada não tem acentos e que todas as letras são minúsculas. ● Obs: Um palíndromo é uma palavra ou frase, que é igual quando lida da esquerda para a direita ou da direita para a esquerda (espaços em brancos são descartados). ○ Exemplos de palíndromo: “ovo”, “reviver”, “mega bobagem”, “anotaram a data da maratona” Referências & Exercícios ● Os slides dessa aula foram baseados no material de MC102 do Prof. Eduardo Xavier (IC/Unicamp) ● https://wiki.python.org.br/ExerciciosComStrings: 14 exercícios =) ● https://panda.ime.usp.br/pensepy/static/pensepy/08-Strings/strings.htm ************************************************************************* Intera ̧c ̃ao com o Usu ́ario - Matrizes Fa ̧ca um programa que leia uma matriz digitada pelo usu ́ario e conte quantos n ́umeros pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela tamb ́em. 2o Passo: Fazer uma fun ̧c ̃ao para contar o n ́umero de elementos pares de uma matriz. # Fun ̧c ̃ao que conta o n ́umero de elementos # pares em uma matriz # list → int def contaPares(matriz): total = 0 for i in range(len(matriz)): for j in range(len(matriz[0])): if matriz[i][j] % 2 == 0: total += 1 return total # Primeira Op ̧c ̃ao de Programa # Fun ̧c ̃ao Principal def main(): matriz = input( ”Digite uma matriz : ”) pares = contaPares(matriz) print ”O total de n ́umeros pares ́e ”,pares if name == ” main ”: main() Jo ̃ao Carlos, Carla Delgado, Ana Luisa Duboc 19/ 25 Intera ̧c ̃ao com o Usu ́ario - Matrizes Fa ̧ca um programa que leia uma matriz digitada pelo usu ́ario e conte quantos n ́umeros pares existe na matriz, imprimindo

Quer acompanhar as novidade do site?

Leia mais em:

Como limitar a entrada de dados em Python para números 1, 2 e 3 apenas?

Última atualização: 2023-02-15

Exemplos de uso


Palavras-Chaves